home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Almathera Ten Pack 3: CDPD 3
/
Almathera Ten on Ten - Disc 3: CDPD3.iso
/
scope
/
001-025
/
scopedisk11
/
cprof12
/
sieve.c
< prev
Wrap
C/C++ Source or Header
|
1995-03-18
|
645b
|
35 lines
/*****************************************************************************
***
*** The Sieve of Eratosthenes
***
***/
#include "time.h"
#include "stdio.h"
#define size 8190
unsigned char flag[size+1];
void main()
{
register int i,k,p,primes;
int iter;
long t1,t2;
time(&t1);
for (iter=1;iter<=100;iter++)
{
for (i=0;i<=size;i++)
flag[i]=1;
primes=0;
for (i=0;i<=size;i++)
{if (flag[i]==1)
{p=i+i+3;
for(k=i+p;k<=size;k+=p)
flag[k]=0;
primes++;
}
}
}
time(&t2);
printf("primes=%d in %ld seconds for 100 iterations\n",primes,(t2-t1));
}